home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / apps / astronmy / strchart.arc / patch.arc / planet.dif < prev    next >
Text File  |  1989-03-23  |  18KB  |  598 lines

  1. *** ../starchart/planet.c    Mon Sep 19 09:11:43 1988
  2. --- planet.c    Mon Sep 26 08:00:31 1988
  3. ***************
  4. *** 45,57 ****
  5.   #include <stdio.h>
  6.   #include <math.h>
  7.   
  8.   #ifndef SYSV
  9.   #include <sys/time.h>    /* for getting current GMT (generic Unix) */
  10.   #else
  11.   #include <time.h>    /* for getting current GMT (sysV version) */
  12.   #endif
  13.   
  14. ! #define CURYEAR    1987    /* default year -- needs to be maintained */
  15.   
  16.   #ifndef PLANETFILE
  17.   #define PLANETFILE "./planet.star"
  18. --- 45,62 ----
  19.   #include <stdio.h>
  20.   #include <math.h>
  21.   
  22. + #ifdef ST_MWC /* Mark Williams C for the Atari ST */
  23. + #define SYSV /* MWC is almost SYSV compatible */
  24. + #include <osbind.h> /* Needed for Cconws() and Crawcin() */
  25. + #endif /* ST_MWC */
  26.   #ifndef SYSV
  27.   #include <sys/time.h>    /* for getting current GMT (generic Unix) */
  28.   #else
  29.   #include <time.h>    /* for getting current GMT (sysV version) */
  30.   #endif
  31.   
  32. ! #define CURYEAR    1989    /* default year -- needs to be maintained */
  33.   
  34.   #ifndef PLANETFILE
  35.   #define PLANETFILE "./planet.star"
  36. ***************
  37. *** 68,73 ****
  38. --- 73,84 ----
  39.   #define MAGURA 590
  40.   #define MAGNEP 800
  41.   
  42. + #ifdef ST_MWC
  43. + #define daylight tt.tm_isdst
  44. + extern char *getenv(); /* used to see if we're running from the desktop */
  45. + struct tm_t *tt;
  46. + #endif /* ST_MWC */
  47.   double pie, rad;
  48.   double htod(), atof(), kepler(), truean();
  49.   double longi(), lati(), poly(), aint(), range();
  50. ***************
  51. *** 119,125 ****
  52. --- 130,138 ----
  53.       gettimeofday(&tv, &tz);
  54.       return(GMT1970 + tv.tv_sec/SECSPERDAY);
  55.   #else
  56. + #ifndef ST_MWC
  57.       long time();
  58. + #endif /* ST_MWC */
  59.       return(GMT1970 + (double)time((long *)0)/SECSPERDAY);
  60.   #endif
  61.       }
  62. ***************
  63. *** 201,207 ****
  64.       aa1 = (int) (year/100);
  65.       bb1 = 2 - aa1 + (int)(aa1/4);
  66.       jd = aint(365.25*year) + aint(30.6001*(month + 1));
  67. !     jd = jd  + day + 1720994.5;
  68.       if((year + month/100) > 1582.10) jd = jd + bb1;
  69.       return(jd);
  70.       }
  71. --- 214,220 ----
  72.       aa1 = (int) (year/100);
  73.       bb1 = 2 - aa1 + (int)(aa1/4);
  74.       jd = aint(365.25*year) + aint(30.6001*(month + 1));
  75. !     jd += day + 1720994.5;
  76.       if((year + month/100) > 1582.10) jd = jd + bb1;
  77.       return(jd);
  78.       }
  79. ***************
  80. *** 218,224 ****
  81. --- 231,243 ----
  82.       double N,D,epli,thapp,omeg;
  83.       double nu2,P,Q,S,V,W,ze,l1pert,epert,w1pert,apert;
  84.       double psi,H,G,eta,th;
  85. + #ifdef ST_MWC
  86. +     time_t now;
  87.   
  88. +     now = time((long) 0);
  89. +     tt = localtime(&now);
  90. + #endif /* ST_MWC */
  91.   #define WRITEMODE "w"
  92.   #define OPENFAIL 0
  93.       progname = argv[0];
  94. ***************
  95. *** 321,327 ****
  96.           RA = atan2(N,D)/rad;
  97.           DEC = asin(sin(epli*rad)*sin(thapp*rad))/rad;
  98.           speak(RA,DEC,Sr, MAGSOL, "PS", "Sol");
  99. ! /* tansformation of coordinates on Mercury and output */
  100.           trans(r,b,ll,Stheta,Sr,epli, MAGMER, "PM", "Mercury");
  101.           
  102.   /* Now start on Venus */
  103. --- 340,346 ----
  104.           RA = atan2(N,D)/rad;
  105.           DEC = asin(sin(epli*rad)*sin(thapp*rad))/rad;
  106.           speak(RA,DEC,Sr, MAGSOL, "PS", "Sol");
  107. ! /* transformation of coordinates on Mercury and output */
  108.           trans(r,b,ll,Stheta,Sr,epli, MAGMER, "PM", "Mercury");
  109.           
  110.   /* Now start on Venus */
  111. ***************
  112. *** 373,380 ****
  113.       radpert = 0.000022501 * cos((2*M-2*M2-58.208)*rad)
  114.            +0.000019045 * cos((3*M-3*M2+92.577)*rad)
  115.            +0.000006887 * cos((M5-M2-118.090)*rad)
  116. !          +0.000005172 * cos((M-M2-29.110)*rad)
  117. !          +0.000003620 * cos((5*M-4*M2-104.208)*rad)
  118.            +0.000003283 * cos((4*M-4*M2+63.513)*rad)
  119.            +0.000003074 * cos((2*M5-2*M2-55.167)*rad);
  120.       r = r + radpert;
  121. --- 392,399 ----
  122.       radpert = 0.000022501 * cos((2*M-2*M2-58.208)*rad)
  123.            +0.000019045 * cos((3*M-3*M2+92.577)*rad)
  124.            +0.000006887 * cos((M5-M2-118.090)*rad)
  125. !          +0.000005172 * cos((M-M2-29.110)*rad);
  126. !     radpert+= 0.000003620 * cos((5*M-4*M2-104.208)*rad)
  127.            +0.000003283 * cos((4*M-4*M2+63.513)*rad)
  128.            +0.000003074 * cos((2*M5-2*M2-55.167)*rad);
  129.       r = r + radpert;
  130. ***************
  131. *** 425,432 ****
  132.       lonpert = 0.00705*cos((M5-M4-48.958)*rad)
  133.            +0.00607*cos((2*M5-M4-188.350)*rad)
  134.            +0.00445*cos((2*M5-2*M4-191.897)*rad)
  135. !          +0.00388*cos((M-2*M4+20.495)*rad)
  136. !          +0.00238*cos((M-M4+35.097)*rad)
  137.            +0.00204*cos((2*M-3*M4+158.638)*rad)
  138.            +0.00177*cos((3*M4-M2-57.602)*rad)
  139.            +0.00136*cos((2*M-4*M4+154.093)*rad)
  140. --- 444,451 ----
  141.       lonpert = 0.00705*cos((M5-M4-48.958)*rad)
  142.            +0.00607*cos((2*M5-M4-188.350)*rad)
  143.            +0.00445*cos((2*M5-2*M4-191.897)*rad)
  144. !          +0.00388*cos((M-2*M4+20.495)*rad);
  145. !     lonpert+= 0.00238*cos((M-M4+35.097)*rad)
  146.            +0.00204*cos((2*M-3*M4+158.638)*rad)
  147.            +0.00177*cos((3*M4-M2-57.602)*rad)
  148.            +0.00136*cos((2*M-4*M4+154.093)*rad)
  149. ***************
  150. *** 445,452 ****
  151.       radpert+= 0.000007914*cos((3*M5-2*M4-139.737)*rad)
  152.            +0.000007004*cos((2*M5-3*M4-102.888)*rad)
  153.            +0.000006620*cos((M-2*M4+113.202)*rad)
  154. !          +0.000004930*cos((3*M5-3*M4-76.243)*rad)
  155. !          +0.000004693*cos((3*M-5*M4+190.603)*rad)
  156.            +0.000004571*cos((2*M-4*M4+244.702)*rad)
  157.            +0.000004409*cos((3*M5-M4-115.828)*rad);
  158.       r = r + radpert;
  159. --- 464,471 ----
  160.       radpert+= 0.000007914*cos((3*M5-2*M4-139.737)*rad)
  161.            +0.000007004*cos((2*M5-3*M4-102.888)*rad)
  162.            +0.000006620*cos((M-2*M4+113.202)*rad)
  163. !          +0.000004930*cos((3*M5-3*M4-76.243)*rad);
  164. !     radpert+= 0.000004693*cos((3*M-5*M4+190.603)*rad)
  165.            +0.000004571*cos((2*M-4*M4+244.702)*rad)
  166.            +0.000004409*cos((3*M5-M4-115.828)*rad);
  167.       r = r + radpert;
  168. ***************
  169. *** 507,513 ****
  170.       -(0.003083 + 0.000275*nu2 - 0.000489*nu2*nu2)*sin(2*V)
  171.       +0.002472*sin(W)
  172.       +0.013619*sin(ze)
  173. !     +0.018472*sin(2*ze)
  174.       +0.006717*sin(3*ze)
  175.       +0.002775*sin(4*ze)
  176.       +(0.007275 - 0.001253*nu2)*sin(ze)*sin(Q)
  177. --- 526,533 ----
  178.       -(0.003083 + 0.000275*nu2 - 0.000489*nu2*nu2)*sin(2*V)
  179.       +0.002472*sin(W)
  180.       +0.013619*sin(ze)
  181. !     +0.018472*sin(2*ze);
  182. ! l1pert = l1pert
  183.       +0.006717*sin(3*ze)
  184.       +0.002775*sin(4*ze)
  185.       +(0.007275 - 0.001253*nu2)*sin(ze)*sin(Q)
  186. ***************
  187. *** 519,525 ****
  188.       -(0.035681 + 0.001208*nu2)*sin(ze)*cos(Q)
  189.       -0.004261*sin(2*ze)*cos(Q)
  190.       +0.002178*cos(Q)
  191. !     +(-0.006333 + 0.001161*nu2)*cos(ze)*cos(Q)
  192.       -0.006675*cos(2*ze)*cos(Q)
  193.       -0.002664*cos(3*ze)*cos(Q)
  194.       -0.002572*sin(ze)*sin(2*Q)
  195. --- 539,546 ----
  196.       -(0.035681 + 0.001208*nu2)*sin(ze)*cos(Q)
  197.       -0.004261*sin(2*ze)*cos(Q)
  198.       +0.002178*cos(Q)
  199. !     +(-0.006333 + 0.001161*nu2)*cos(ze)*cos(Q);
  200. ! l1pert = l1pert
  201.       -0.006675*cos(2*ze)*cos(Q)
  202.       -0.002664*cos(3*ze)*cos(Q)
  203.       -0.002572*sin(ze)*sin(2*Q)
  204. ***************
  205. *** 532,538 ****
  206.       -.0006764*sin(ze)*sin(Q)
  207.       -.0001110*sin(2*ze)*sin(Q)
  208.       -.0000224*sin(3*ze)*sin(Q)
  209. !     -.0000204*sin(Q)
  210.       +(.0001284 + .0000116*nu2)*cos(ze)*sin(Q)
  211.       +.0000188*cos(2*ze)*sin(Q)
  212.       +(.0001460 + .0000130*nu2)*sin(ze)*cos(Q)
  213. --- 553,560 ----
  214.       -.0006764*sin(ze)*sin(Q)
  215.       -.0001110*sin(2*ze)*sin(Q)
  216.       -.0000224*sin(3*ze)*sin(Q)
  217. !     -.0000204*sin(Q);
  218. ! epert = epert
  219.       +(.0001284 + .0000116*nu2)*cos(ze)*sin(Q)
  220.       +.0000188*cos(2*ze)*sin(Q)
  221.       +(.0001460 + .0000130*nu2)*sin(ze)*cos(Q)
  222. ***************
  223. *** 544,550 ****
  224.       +.0000508*cos(3*ze)*cos(Q)
  225.       +.0000230*cos(4*ze)*cos(Q)
  226.       +.0000108*cos(5*ze)*cos(Q)
  227. !     -(.0000956 + .0000073*nu2)*sin(ze)*sin(2*Q)
  228.       +.0000448*sin(2*ze)*sin(2*Q)
  229.       +.0000137*sin(3*ze)*sin(2*Q)
  230.       +(-.0000997 + .0000108*nu2)*cos(ze)*sin(2*Q)
  231. --- 566,573 ----
  232.       +.0000508*cos(3*ze)*cos(Q)
  233.       +.0000230*cos(4*ze)*cos(Q)
  234.       +.0000108*cos(5*ze)*cos(Q)
  235. !     -(.0000956 + .0000073*nu2)*sin(ze)*sin(2*Q);
  236. ! epert = epert
  237.       +.0000448*sin(2*ze)*sin(2*Q)
  238.       +.0000137*sin(3*ze)*sin(2*Q)
  239.       +(-.0000997 + .0000108*nu2)*cos(ze)*sin(2*Q)
  240. ***************
  241. *** 554,560 ****
  242.       +(-.0000956 +.0000099*nu2)*sin(ze)*cos(2*Q)
  243.       +.0000490*sin(2*ze)*cos(2*Q)
  244.       +.0000158*sin(3*ze)*cos(2*Q)
  245. !     +.0000179*cos(2*Q)
  246.       +(.0001024 + .0000075*nu2)*cos(ze)*cos(2*Q)
  247.       -.0000437*cos(2*ze)*cos(2*Q)
  248.       -.0000132*cos(3*ze)*cos(2*Q);
  249. --- 577,584 ----
  250.       +(-.0000956 +.0000099*nu2)*sin(ze)*cos(2*Q)
  251.       +.0000490*sin(2*ze)*cos(2*Q)
  252.       +.0000158*sin(3*ze)*cos(2*Q)
  253. !     +.0000179*cos(2*Q);
  254. ! epert = epert
  255.       +(.0001024 + .0000075*nu2)*cos(ze)*cos(2*Q)
  256.       -.0000437*cos(2*ze)*cos(2*Q)
  257.       -.0000132*cos(3*ze)*cos(2*Q);
  258. ***************
  259. *** 562,568 ****
  260.   w1pert = (0.007192 - 0.003147*nu2)*sin(V)
  261.       +(-0.020428 - 0.000675*nu2 + 0.000197*nu2*nu2)*cos(V)
  262.       +(0.007269 + 0.000672*nu2)*sin(ze)*sin(Q)
  263. !     -0